:: Monad m => _ package:base

A special case of error. It is expected that compilers will recognize this and insert error messages which are more appropriate to the context in which undefined appears.
Calls perror to indicate that the format string ended early.
Calls perror to indicate that there is a missing argument in the argument list.
Calls perror to indicate that there is a type error or similar in the given argument.
Used for compiler-generated error message; encoding saves bytes of string junk.